package j.util.jdbc.simple.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 为insert操作指定一些配置信息
 */
@Target({TYPE})
@Retention(RUNTIME)
public @interface Insert {
	/**
	 * 执行插入操作前是否检查，默认是
	 * 检查将依据数据表的pk及uk字段列表
	 * @return
	 */
	boolean checked() default true;

	/**
	 * 若指定，则仅对这些列进行插入操作
	 * 若该列表中包括了生成的键，则排除
	 * @return
	 */
	String[] usedColumns() default {};
	
	/**
	 * 在这里指定生成插入语句时所不被使用的字段
	 * 这项与 usedColumns只能启用一个，usedColumns优先
	 * @return
	 */
	String[] noUsedColumns() default{};
}
